perm filename PRNV3D.SAI[1,BGB] blob
sn#001274 filedate 1972-10-22 generic text, type T, neo UTF8
00100 BEGIN "PRNV3D"
00200 DEFINE α = "COMMENT";
00300 REAL X1,Y1,Z1,X2,Y2,Z2,L,DL;
00400 STRING STR; INTEGER I,N;
00500 REQUIRE "SAITRG[SYS,BGB]" LOAD_MODULE;
00600 EXTERNAL REAL PROCEDURE SQRT (REAL X);
00700 α FILE OPENING CEREMONIES;
00750 BEGIN
00775 LABEL L; INTEGER FLG;
00800 OPEN(1,"DSK",8,3,0,0,0,0);
00900 L: OUTSTR(".V3D FILE = ");
01000 STR ← INCHWL;
01100 LOOKUP(1,STR&".V3D",FLG);
01200 IF FLG THEN GO L;
01300
01400 OPEN(2,"LPT",0,0,2,0,0,0);
01425 ENTER(2,STR&".LST",FLG);
01450 END;
01500 N ← WORDIN(1);
01600
01650 SETFORMAT(15,3);
01700 OUT(2,STR&".V3D CONTAINING "&
01800 CVS(N)&" VECTORS."&13&10&13&10);
01900 OUT(2," SERIAL ");
01902 OUT(2," L");
01904 OUT(2," X");
01906 OUT(2," Y");
01908 OUT(2," Z");
01910 OUT(2, 13 & 10 );
01912
02012 L ← 0;
02200 FOR I←0 STEP 1 UNTIL N DO
02300 BEGIN
02302 IF I≠ 0 THEN
02350 ARRBLT(X1,X2,3);
02400 ARRYIN(1,X2,3);
02402 IF I=0 THEN BEGIN X1←X2;Y1←Y2 END;
02500 DL ← SQRT ( (X2-X1)↑2 + (Y2-Y1)↑2 );
02600 L ← L + DL;
02700 OUT(2,CVS(I));
02750 OUT(2," ");
02800 OUT(2,CVF(L));
02900 OUT(2,CVF(X2));
03000 OUT(2,CVF(Y2));
03100 OUT(2,CVF(Z2));
03200 OUT(2,13&10 );
03300 END;
03400 RELEASE(1);
03500 RELEASE(2);
03600 END "PRNV3D"